package com.example.flashsales.mappers;

import com.example.flashsales.entity.dto.OrderCarDetailsDto;
import com.example.flashsales.entity.dto.OrderCarDto;
import com.example.flashsales.entity.pojo.OrderCar;
import com.example.flashsales.entity.pojo.OrderCarDetails;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

@Mapper
public interface OrderCarMapper {

    //添加商品进入购物车
    int addGoodsInOrderCar(OrderCarDetailsDto orderCarDetailsDto);

    //TODO 修改用户购物车里面的商品数量
    int changeOrderCarGoodsCount(@Param("orderCarId") long orderCarId,@Param("goodsId") long goodsId,@Param("count") double count,@Param("money") double money);

    //删除购物车里面的额某条数据
    int deleteGoodsInOrderCar(@Param("orderCarId") long orderCarId,@Param("goodsId") long goodsId );

    //获取购物车id
    OrderCar getCardId(@Param("userId") long userId);

    //修改购物车总金额
    int updateOrderCarMoney(@Param("id") long id, @Param("money") double money);

    //获取购物车细节
    List<OrderCarDetails> viewUserOrderCarMessage(@Param("orderCarId") long id);

    //根据购物车id和商品id获取数据
    OrderCarDetails viewGoods(@Param("goodsId") long goodsId, @Param("orderCarId") long orderCarId);

    //清空购物车
    int cleanOrderCar(@Param("id") long id);

    //添加购物车
    int addOrderCar(OrderCarDto orderCarDto);
}
